package database.DAO;

import common.Message;
import database.domain.OfflineMessage;

import java.io.*;
import java.util.Arrays;

public class OfflineMessageDAO extends BasicDAO<OfflineMessage>{
    //apache-dbutils   很牛逼，只需要把对象转为二进制存到mysql里就行
    // 取出来的时候，dbutils会帮我们把二进制转为对象，因此对于的javaBean对于mysql的二进制字段应该是对象字段，而不是字节数组，而且必须是对象字段
    public static byte[] toByteArray(Message message){
        ByteArrayOutputStream byteOut =null;
        ObjectOutputStream objOut=null;
        try {
             try {
                 byteOut = new ByteArrayOutputStream();
                 objOut = new ObjectOutputStream(byteOut);
                 objOut.writeObject(message);
                 return byteOut.toByteArray();
             }finally {
                 if (objOut!=null) {
                     objOut.close();
                 }
                 if (byteOut!=null){
                    byteOut.close();
                 }
             }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

}
